package com.qf.controller;

import com.github.pagehelper.PageInfo;
import com.qf.entity.Token;
import com.qf.service.TokenService;
import com.qf.vo.MessageVo;
import com.qf.vo.PageVo;
import com.qf.vo.TableVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/token")
public class TokenController {
    @Autowired
    private TokenService tokenService;

    @RequestMapping("/test1")
    public String test1(){
        return "index";
    }

    @RequestMapping("/test2/{id}")  //请求映射
    @ResponseBody//响应体   返回json数据
    public Token test2(@PathVariable("id") Integer id){//PathVariable路径变量收参
        //System.out.println(id);
        Token token = tokenService.findToken(id);
        return token;
    }
  /*  @RequestMapping("/getAll")

    public String test3(HttpServletRequest request ,PageVo pageVo){
        PageInfo<User> pageInfo=userService.findAll(pageVo);
        request.setAttribute("pageInfo",pageInfo);
        return "forward:/user.jsp";
    }*/
    @RequestMapping("/getAllToken")
    @ResponseBody
    public TableVo<Token> test4(PageVo pageVo,Token token){//实体收参
        TableVo<Token> tableVo = new TableVo<>();
        PageInfo<Token> pageInfo = tokenService.findAll(pageVo,token);
        tableVo.setCode("0");
        tableVo.setCount(pageInfo.getTotal());
        tableVo.setMsg("ok");
        tableVo.setData(pageInfo.getList());
        return tableVo;
    }


    @RequestMapping("/getAllToken1")
    @ResponseBody
    public TableVo<Token> test_1(PageVo pageVo,@RequestBody Token token){//实体收参
        TableVo<Token> tableVo = new TableVo<>();
        PageInfo<Token> pageInfo = tokenService.findAll(pageVo,token);
        tableVo.setCode("0");
        tableVo.setCount(pageInfo.getTotal());
        tableVo.setMsg("ok");
        tableVo.setData(pageInfo.getList());
        return tableVo;
    }

    @RequestMapping("/addToken")
    @ResponseBody
    public MessageVo addToken(Token token){
       Integer a= tokenService.addToken(token);
        MessageVo messageVo = new MessageVo();
        messageVo.setStatus(a==1?true:false);
        messageVo.setMessage(a==1?"success":"failed");
        messageVo.setData(token);
        return messageVo;
    }
    @RequestMapping("/delToken")
    @ResponseBody
    public MessageVo delToken(Integer [] ids){
        Integer a= tokenService.delToken(ids);
        MessageVo messageVo = new MessageVo();
        messageVo.setStatus(a>0?true:false);
        messageVo.setMessage(a>0?"success":"failed");
        return messageVo;
    }
    @RequestMapping("/updateToken")
    @ResponseBody
    public MessageVo updateToken(Token token){
        Integer a= tokenService.updateToken(token);
        MessageVo messageVo = new MessageVo();
        messageVo.setStatus(a==1?true:false);
        messageVo.setMessage(a==1?"success":"failed");
        messageVo.setData(token);
        return messageVo;
    }

}
